package eu.catlab.bbgs.interfaces;

import java.util.Date;

/**
 * Implement this interface to pass player objects to notifications or messages
 * @author CatLab Interactive
 *
 */
public interface User extends Parameter 
{
	/**
	 * Return the (local) player id
	 * @return (local) player id
	 */
	public String getId ();
	
	/**
	 * Return an URL to the public player profile (or NULL if none)
	 * @return public player profile URL
	 */
	public String getProfileURL ();
	
	/**
	 * Return player nickname
	 * @return player nickname
	 */
	public String getName ();
	
	/**
	 * Return current player score
	 * @return player score (or 0)
	 */
	public int getScore ();
	
	/**
	 * Return a list of all openid identity url's of this player
	 * @return openid identity url's
	 */
	public String[] getOpenIDs ();
	
	/**
	 * Return the player join date
	 * @return player join date
	 */
	public Date getJoinDate ();
}
